package com.platform.common.core.domain.export;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.platform.common.core.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author mymac
 * @Date 2024/7/12 8:51 AM
 * @Version 1.0
 */
@Data
public class DepartGjjCheckQueryListExportDTO {
    @Excel(name = "运单号", sort = 0)
    private String billId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "到达日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date arriveTime;

    @Excel(name = "航空公司", sort = 1)
    private String carrier;

    @Excel(name = "航班号", sort = 5)
    private String fno;

    @Excel(name = "出发站", sort = 5)
    private String depName;

    @Excel(name = "收货人", sort = 5)
    private String consignee;

    @Excel(name = "结算用户", width = 50)
    private String payeeName;

    @Excel(name = "货物名称", sort = 5)
    private String goods;

    @Excel(name = "货物类别",readConverterExp = "ITC=国际中转货,IDIP=外交信袋子,VAL=国际贵重物品,AVI=国际活体,ICE=国际干冰,IMNM=危险品磁性物质,IMLB=危险品锂电池,IPLB=危险品纯锂电,TSF=国际中转国内海鲜,IP=国际海鲜,IM=国际邮件,IF=国际冰鲜,IFR=国际水果,IFV=国际蔬菜鲜花,IEP=国际防疫物资,IO=其他,IMA=国际原材料,IC=国际服饰及辅料,IME=国际非防疫物资的医药,IE=电子产品,ITRA=转关,IDIR=直出")
    private String cargoType;

    @Excel(name = "收费类别")
    private String categoryName;

    @Excel(name = "收费项")
    private String checkItem;

    @Excel(name = "件数", cellType = Excel.ColumnType.NUMERIC)
    private Long pc;

    @Excel(name = "重量", cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal weight;

    @Excel(name = "费率")
    private BigDecimal rate;

    @Excel(name = "金额", cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal amount;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "账单日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkTime;

    @Excel(name = "结算方式",readConverterExp = "NOW_PAID=现结,DAY_PAID=日结,MONTH_PAID=月结")
    private String settleWay;

    @Excel(name = "支付方式",readConverterExp = "CASH=现金,POS_PAY=POS机支付,AGGREGATED_PAY=聚合支付,WECHAT_PAY=微信支付,ALIPAY_PAY=支付宝支付,TRANSFER=转账")
    private String payWay;

    @Excel(name = "结算总价", cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal actualAmount;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结算日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date receivableTime;

    @Excel(name = "开票种类")
    private String invoiceCategory;

    @Excel(name = "开票名称")
    private String invoiceName;

    @Excel(name = "开票状态",readConverterExp = "NOT_INVOICED=未开票,INVOICING=开票中,INVOICED=开票完成,INVOICED_FAIL=开票失败,INVOICE_RED_DURING=冲红中,INVOICE_RED_SUCCESS=冲红成功,INVOICE_RED_FAIL=冲红失败")
    private String invoiceStatus;
}
